# ========================================================== # Update Group Policy Settings Script # ========================================================== # Set Policy Type Here # Possible Values: # Computer # User # Both if ($args.Count -eq 0 -or [string]::IsNullOrWhiteSpace($args[0])) { Write-Host "[ERROR] No PolicyType argument provided." Write-Host "Usage: script.ps1 " exit 1 } $PolicyType = $args[0] Write-Host "=========================================" Write-Host " Updating Group Policy Settings" Write-Host "=========================================" Write-Host "" # Convert value to lowercase $PolicyType = $PolicyType.ToLower() # Execute based on variable value if ($PolicyType -eq "computer") { Write-Host "Refreshing Computer Policies..." Write-Host "" $Result = gpupdate /target:computer /force if ($Result -match "Computer Policy update has completed successfully") { Write-Host "Computer Policy Status : SUCCESS" } else { Write-Host "Computer Policy Status : FAILED" } } elseif ($PolicyType -eq "user") { Write-Host "Refreshing User Policies..." Write-Host "" $Result = gpupdate /target:user /force if ($Result -match "User Policy update has completed successfully") { Write-Host "User Policy Status : SUCCESS" } else { Write-Host "User Policy Status : FAILED" } } elseif ($PolicyType -eq "both") { Write-Host "Refreshing Computer and User Policies..." Write-Host "" $Result = gpupdate /force if ($Result -match "Computer Policy update has completed successfully") { Write-Host "Computer Policy Status : SUCCESS" } else { Write-Host "Computer Policy Status : FAILED" } } else { Write-Host "Invalid PolicyType Value." Write-Host "Use: Computer, User, or Both" exit 1 } Write-Host "" Write-Host "=========================================" Write-Host " Group Policy Refresh Completed" Write-Host "========================================="